Conceitos de Inteligência Artificial e Machine Learning
UFPE
A Inteligência, mais especificamente inteligência humana é um termo interessante de discutir, ela envolve (Sternberg, 2000):
o cérebro humano, que é o órgão mais complexo do corpo humano;
a mente, sendo esta relacionada a capacidade de pensar, raciocinar, lembrar, entender e sentir;
o pensamento lógico, que é a capacidade de raciocinar e resolver problemas;
a compreensão, associado a capacidade de entender e interpretar informações;
a aplicabilidade, que vai de encontro a capacidade de aplicar conhecimentos e habilidade em sua maioria sendo em situações práticas;
Em geral, a inteligência pode ser bem definida como a capacidade de um indivíduo realizar tarefas efetivamente usando seu próprio conhecimento, interpretação e perspicácia.
Teste de Turing
.O conceito básico deste jogo é descobrir se o participante é humano ou um computador.
O cenário 1 do teste consiste em três jogadores, onde o primeiro jogador é um “homem”, o segundo jogador é uma “mulher” e o terceiro jogador é o “interrogador”, que pode ser tanto um homem quanto uma mulher. Os dois primeiros jogadores estarão em salas diferentes, e o interrogador não sabe quem são os jogadores. Agora, o desafio do interrogador é descobrir o gênero dos dois primeiros jogadores com base nas respostas escritas dadas por eles para as perguntas feitas pelo interrogador. Outro desafio será criado fazendo com que o primeiro jogador dê intencionalmente respostas incorretas às perguntas, o que pode induzir o interrogador a inferir que o primeiro jogador é uma “mulher” em vez de um “homem”. A Figure 1 mostra o cenário do teste de imitação.
Turing tentou projetar este jogo com uma pequena alteração, na qual substituiu um dos dois primeiros jogadores por um computador no cenário de teste 2.
Ele analisou se a máquina tinha a capacidade de agir como um jogador humano aplicando sua própria inteligência.
Ele provou através do teste que o computador tem uma melhor capacidade de confundir o interrogador com sua inteligência, de modo que o interrogador tem a possibilidade de interpretar erroneamente o primeiro jogador como humano em vez de computador.
A inteligência da máquina foi comprovada através do teste de Alan Turing e amplamente aceita pela comunidade de pesquisa na época.
Timeline 1 da IA.(fonte:Weijermars, et.al. )
Timeline 2 da IA.(fonte: Momentum Works report – The future by ChatGPT)
(fonte: AI Experience - Google)
Existem três abordagens da Inteligência Artificial:
é uma escola de pensamento que diz que a inteligência depende da percepção e da ação. Assim, o comportamento da inteligência só pode ser demonstrado no mundo real através da constante interação com o meio.
tenta replicar a inteligência humana, como a capacidade de resolver problemas através de regras e lógica. Por meio de símbolos, como palavras e conceitos, uma estrutura lógica é organizada que permite ao sistema de IA realizar as tarefas.
é baseada na simulação dos componentes do cérebro (modelagem da inteligência humana), como neurônios e sinapses. Aqui as soluções são baseadas em padrões e aprendizado de máquina, tentando imitar o funcionamento do cérebro humano.
A Inteligência Artificial é dividida em duas partes:
é quando uma máquina realmente entende o que está acontecendo. Podem existir emoções e criatividade. Na maior parte, é o que vemo em filmes de ficção científica.
é quando uma máquina realiza a correspondência entre padrões, e está relacionada a tarefas específicas, e as capacidades não são facilmente transferíveis para outros sistemas.
O ambiente de inteligência artificial consiste em cinco componentes principais:
O ambiente de inteligência artificial consiste em cinco componentes principais:
Machine Leaning (ML) ou Aprendizado de máquina (AM) é um subcampo da Inteligência Artificial que estuda, desenvolve e analisa os algoritmos de aprendizado. Através de utilização dos métodos de AM, modelos baseado em dados podem ser criados para solucionar um determinado tipo de problema específico que de IA, dentre eles, aprendizados supervisionados, não supervisionados e aprendizagem por reforço.
Inicialmente, as aplicações que eram consideradas de AM eram apenas as desenvolvidas estritamente pela comunidade da computação, contudo, no final dos anos 90, as aplicações de AM começaram a ter intersecções com as de estatística.
Atualmente, a comunidade de AM é bastante interdisciplinar, sendo a estatística uma das áreas. Enquanto que até os anos 90, métodos criados pela estatística começavam a ser incorporados em AM, atualmente a direção oposta está cada vez mais comum: métodos desenvolvidos por AM começaram a ser usados em estatística.
Dessa forma, hoje os algoritmos existentes em Machine Learning e Inteligência Artificial possuem como base em sua maioria conceitos da Estatística e Computação.
O machine learning assume muitas formas e é conhecido por muitos nomes:
Alguns terão vida longa, outros durarão menos.
O machine learning às vezes é confundido com IA, mas como já sabem, ele é um subcampo da IA, entretanto, cresceu tanto e foi tão bem-sucedido que ofusca sua orgulhosa mãe.
O machine learning às vezes é confundido com IA, mas como já sabem, ele é um subcampo da IA, entretanto, cresceu tanto e foi tão bem-sucedido que ofusca sua orgulhosa mãe.
A função \(f\) é desconhecida. Representa a solução IDEAL.
Os algoritmos de ML buscan uma função \(g \approx f\).
Conceitos importantes incluem:
Aprendizado supervisionado - algoritmos treinados com dados rotulados, mapeando entradas para saídas desejadas.
Aprendizado não supervisionado - algoritmos que clusterizam e fazem inferências sobre conjuntos de dados não rotulados.
Aprendizado por reforço - algoritmos que aprendem com tentativa e erro interagindo com um ambiente dinâmico.
Conceitos importantes incluem:
Aprendizado supervisionado - algoritmos treinados com dados rotulados, mapeando entradas para saídas desejadas.
Aprendizado não supervisionado - algoritmos que clusterizam e fazem inferências sobre conjuntos de dados não rotulados.
O aprendizado supervisionado é o tipo mais comum de aprendizado de máquina. Ele é usado para prever um resultado com base em um conjunto de variáveis de entrada.
O aprendizado supervisionado é chamado assim porque o algoritmo aprende a partir de um conjunto de dados rotulados, ou seja, um conjunto de dados que contém entradas e saídas desejadas.
O aprendizado supervisionado é usado em uma ampla variedade de aplicações, incluindo classificação, regressão.
Quando a saída desejada é uma variável qualitativa \((y \in \mathbb{R})\), o problema é chamado de CLASSIFICAÇÃO.
Obtém um modelo otimizado por meio de treinamento e aprendizado baseado em observações \(x_i\), com \(i = 1, 2, \ldots, N\), para as quais se tem a respectiva resposta \(y_i\) desejada.
Cada observação \(x_i\) pode ser formada por \(n\) variáveis (features) independentes \(x_{i1}, x_{i2}, \ldots, x_{in}\), com \(n \geq 1\).
Por exemplo:
\[x_{novo} = [\text{Weather = 'Rainy', Temperature = 'Warm', Wind Speed = 'Weak'}] \rightarrow y_{new}= ?\]
Quando a saída desejada é referentes a uma variável quantintativa seja essa, pertencente aos números inteiros \((y \in \mathbb{Z})\) ou aos números reais \((y \in \mathbb{R})\), o problema é chamado de REGRESSÃO.
Por exemplo:
O aprendizado não supervisionado é o tipo de aprendizado de máquina que é usado para fazer inferências a partir de conjuntos de dados não rotulados.
O aprendizado não supervisionado é chamado assim porque o algoritmo não é treinado com dados rotulados. Em vez disso, o algoritmo aprende com os dados de treinamento e é capaz de fazer inferências sobre novos dados.
O aprendizado não supervisionado é usado em uma ampla variedade de aplicações, incluindo clusterização, redução de dimensionalidade.
Clusterização é a técnica de aprendizado não supervisionado mais comum. Ela é usada para agrupar dados em grupos com base em suas características (variáveis, features)
Novas observações podem ser agrupadas calculando sua semelhança em relação aos demais grupos formados.
Dentre os três tipos apresentados, é a área mais “próxima” da IA em termos de “borda de conhecimento.
Representa uma quebra de paradigma, pois não depende de receber a resposta certa, nem de buscar semelhanças entre amostras. Buscar “recompensas” que são obtidas quando “bons” resultados são obtidos.
Intuitivamente, o diferencial é claro:
No lugar da amostra, temos uma sequência de ações que são tomadas em um ambiente, e o algoritmo aprende a melhor sequência de ações para maximizar uma recompensa.
Para cada ação, há um feedback que indica se a ação foi boa ou ruim.
Por exemplo: Após várias jogadas, ganhou o jogo de damas.
Figure 3
Observe que o processo é iterativo, ou seja, é necessário voltar a etapas anteriores para ajustar o modelo.
Dataset: designa amplamente os dados usados no aprendizado de máquina. Cada registro é nomeado de observação, exemplo, instância ou amostra (sample), a qual é formada por variáveis ou características (features). “Features” são partes relevantes para caracterizar as observações.
Conjunto de treinamento (training set): é o conjunto de dados usado para treinar o modelo (aprendizado). É formado por um conjunto de observações e suas respectivas saídas desejadas.
Conjunto de teste (test set): é o conjunto de dados usado para avaliar o modelo treinado. Simula a situação real, onde o modelo é aplicado a novos dados. É formado por um conjunto de observações de entrada.
Se os dados forem bons, não há como garantir que o modelo será bom
Se os dados não são bons, podemos garantir que o modelo será ruim
Limpeza \(\rightarrow\) Remoção de dados duplicados, outliers, dados faltantes, evita incosisntências e erros na leitura dos dados;
Redução dimensional \(\rightarrow\) evitar explosão dimensional, reduzindo o número de variáveis;
Normalização \(\rightarrow\) padronização dos dados, evitando que variáveis com escalas diferentes influenciem o modelo, reduz ruídos e melhora a performance do modelo;
O Processo começa pela limpeza dos dados, mas observe a divisão do trabalho relatada por cientistas de dados…
Geralmente, os modelos de aprendizado de máquina não funcionam bem com dados faltantes, duplicados ou inconsistentes.
É comum ter dados coletados que só podem ser usados após uma etapade preparação que pode incluir:
A etapa de conversão ocorre entre o pré-processamento e a etapa de selação de variáveis e consiste em converter os dados para o formato adequado para o modelo.
Por exemplo:
Geralmente, há um grande número de “features” nas bases de dados. Algumas podem ser rendundantes ou irrelevantes para a previsão que se deseja fazer, podendo ser desprezadas.
Essa etapa independe do algorito de aprendizagem de máquina.
Há quatro motivações para implementar a seleção de “features”.
Destacamos três conjuntos de métodos:
Filtros: métodos que selecionam “features” com base em métricas estatísticas, como correlação, entropia, etc.
Wrappers: métodos que selecionam “features” com base no desempenho de um modelo de aprendizado de máquina.
Embedded: métodos que selecionam “features” durante o treinamento do modelo.
Engloba técnicas baseadas na correlação entre as “features” e a variável alvo.
Geralmente, usam parâmetros estatísticos para selecionar as “features” mais relevantes, através de um limiar, ou seja, um “rank” das “features”.
Métodos Comuns:
Limitações:
Engloba técnicas que usam um modelo de aprendizado de máquina para avaliar a importância das “features”.
Geralmente, usam um modelo de aprendizado de máquina para avaliar a importância das “features” e selecionar as mais relevantes.
Métodos Comuns:
Limitações:
Engloba técnicas em que a seleção de “features” é incorporada ao treinamento do modelo.
A forma mais comum de seleção de “features” incorporada é a regularização.
Métodos Comuns:
Limitações:
Regularização L1 (Lasso):
Por exemplo: pesos de features redundantes se anulam naturalmente…
Resumo geral da construção de um Modelode 1 até 6… Observe 2!
Um exemplo de Aprendizado Supervisionado \(\rightarrow\) Etapa de Aprendizado
Um exemplo de Aprendizado Supervisionado \(\rightarrow\) Etapa de Aprendizado
Um exemplo de Aprendizado Supervisionado \(\rightarrow\) Etapa de Previsão
O que define um modelo como bom?
Quais são as perguntas certas?
Validade do Modelo - Definições
Capacidade de generalização: capacidade do modelo de prever corretamente para novos dados.
Erro: diferença entre o valor previsto e o valor real. Há dois tipos:
Capacidade do modelo: capacidade do modelo de se ajustar aos dados de treinamento e generalizar para novos dados.
Validade do Modelo - Definições
Underfitting
Validade do Modelo - Definições
Overfitting
Validade do Modelo - Definições
Good fitting (Ajuste adequado)
Variância e Tendência (Variance and Bias)
O erro total de previsão depende da variância e do viés do modelo:
\[ \text{Erro Total} = \text{Erro de Viés} + \text{Erro de Variância} + \text{Erro Irredutível} \]
Como regra geral:
Por sua origem, os erros podem ser divididos em duas categorias:
Variância e Tendência (Variance and Bias) \(\rightarrow\) Aprendizado de Máquina
Análise qualitativa:
Esse comportamento é compatível com overfitting!
Esse comportamento é compatível com underfitting!
Capacidade do Modelo vs Erro de Previsão \(\rightarrow\) Baixa Complexidade
Capacidade do Modelo vs Erro de Previsão \(\rightarrow\) Alta Complexidade
Capacidade do Modelo vs Erro de Previsão \(\rightarrow\) Compromisso
Como avaliar quantitativamente o desempenho do modelo?
Como avaliar quantitativamente o desempenho do modelo?
Problemas de Regressão:
\[MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2\]
\[RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}\]
em que, \(n\) é o número de observações, \(y_i\) é o valor real e \(\hat{y}_i\) é o valor previsto.
Como avaliar quantitativamente o desempenho do modelo?
Problemas de Regressão:
\[R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2}\] em que, \(n\) é o número de observações, \(y_i\) é o valor real, \(\hat{y}_i\) é o valor previsto e \(\bar{y}\) é a média dos valores reais.
Como avaliar quantitativamente o desempenho do modelo?
Problemas de Classificação:
Como avaliar quantitativamente o desempenho do modelo?
Problemas de Classificação:
Problemas de Classificação \(\rightarrow\) Métricas: Acurácia e Taxa de Erro
Problemas de Classificação \(\rightarrow\) Métricas: Sensibilidade e Especificidade
Problemas de Classificação \(\rightarrow\) Métricas: Precisão
Problemas de Classificação \(\rightarrow\) Métricas: \(F_1\) Score e \(F_{\beta}\)
Problemas de Classificação \(\rightarrow\) Métricas: \(F_1\) Score e \(F_{\beta}\)
O \(F_1\) Score é rigoroso, pois exige tanto alta precisão quanto alta revocação para um valor elevado. É particularmente útil em cenários onde há um custo associado a falsos positivos e falsos negativos, como em problemas de saúde ou segurança. O valor do F1 Score varia entre 0 e 1, sendo 1 a classificação perfeita e 0 indicando o pior desempenho.
A métrica \(F_{\beta}\)-Score é uma generalização do F1 Score que permite dar diferentes pesos à precisão (precision) e à revocação (recall) de acordo com a importância desejada para o problema em questão. A fórmula do \(F_{\beta}\)-Score é a seguinte:
Quando ( = 1 ), a fórmula se reduz ao F1 Score, o que dá igual importância à precisão e à revocação.
Quando ( > 1 ), a revocação é priorizada mais do que a precisão. Isso é útil em problemas onde é mais importante capturar todos os casos positivos possíveis (como em detecção de doenças).
Quando ( < 1 ), a precisão é priorizada mais do que a revocação. Isso é preferível em situações onde o custo de falsos positivos é alto (como em classificadores de spam).
Problemas de Classificação \(\rightarrow\) Métricas: MCC (Matriz de Correlação de Matthews) A Matriz de Correlação de Matthews é uma métrica que leva em consideração verdadeiros positivos (TP), verdadeiros negativos (TN), falsos positivos (FP), e falsos negativos (FN). A fórmula é a seguinte:
\[ \text{MCC} = \frac{(TP \times TN) - (FP \times FN)}{\sqrt{(TP + FP)(TP + FN)(TN + FP)(TN + FN)}} \]
A MCC é considerada uma das métricas mais rigorosas, pois leva em conta todos os valores da matriz de confusão. Ela é particularmente útil para conjuntos de dados desbalanceados, onde outras métricas, como a acurácia, podem ser enganosas. Um valor de MCC igual a +1 indica uma predição perfeita, 0 indica que a classificação não é melhor que o acaso, e -1 indica que todas as predições estão incorretas.
Problemas de Classificação \(\rightarrow\) Métricas: Coeficiente \(\kappa\)
O coeficiente Kappa de Cohen mede a concordância entre previsões e rótulos, ajustando a proporção de concordância observada pelo acaso. A fórmula é:
\[ \kappa = \frac{P_o - P_e}{1 - P_e} \]
onde: - \(P_o\) é a probabilidade de concordância observada, - \(P_e\) é a probabilidade de concordância esperada pelo acaso.
O Kappa é uma métrica robusta para avaliar a precisão de classificadores. Ele considera o efeito da chance, o que o torna útil para avaliar classificações em cenários com rótulos desbalanceados. Valores próximos de 1 indicam uma alta concordância, valores próximos de 0 indicam concordância esperada pelo acaso, e valores negativos indicam uma concordância inferior ao acaso.
Exemplo de avaliação de desempenho de um modelo de ML
Um modelo de ML foi treinado para identificar se o objeto presente em imagens é um gato. Foram usadas 200 imagens para avaliar o desempenho do modelo, tendo sido obtida a seguinte matriz de confusão:
Deseja-se calcular as métricas de precisão, sensibilidade e acurácia do modelo.
Resposta
Qual o significado desses valores?
Dentre os diversos motivos e vantagens de aplicar a inteligência artificial, estão a maior eficiência, a possibilidade de automatizar processos e, consequentemente, o aumento na velocidade de conclusão de tarefas.
As aplicações que utilizam a inteligência artificial são capazes de reduzir erros e aumentar a produtividade. Por isso, as empresas que adotam a tecnologia conseguem eliminar facilmente diversos custos operacionais.
No inicio de 2020 uma pesquisa on-line da McKinsey realizada com 2.360 executivos em todo o mundo já mostrava o impacto da utilização da inteligência artificial nos negócios. De acordo com o estudo, 63% dos executivos cujas empresas adotaram a IA relataram que o recurso aumentou a receita nas áreas de negócios onde é aplicada, e 44% dizem que reduziu os custos da companhia. Os aumentos de receita são relatados com mais frequência em marketing e vendas, e a diminuição dos custos na manufatura1.
A seguir serão detalhados 5 de alguns desses desafios:
Os maiores obstáculos para o lançamento de um projeto de IA são os dados. Mas especificamente, a falta de dados úteis e relevantes, livres de vieses embutidos e que não violam os direitos de privacidade.
Todo investimento deve ser muito bem pensado antes de iniciar o processo de implementação e, obviamente, não é diferente com IA. É preciso elencar o que essa tecnologia pode fazer pelo seu negócio, visualizar com clareza como inteligência artificial será utilizada e atuará. Para aqueles que constroem sistemas de IA do zero, os custos de mão de obra e tecnologia podem ser altos. Este é especialmente o caso para aqueles que estão começando.
As implementações de IA trazem consigo diversos desafios técnicos e a maioria das organizações não possui habilidades de IA suficientes para lidar com eles de forma eficiente. Se a empresa não conta com as habilidades técnicas necessárias para incorporar IA ao seu negócio e o investimento precisa ser grande demais, uma solução é considerar contar com uma empresa parceira, para que você tenha maior controle e autonomia nesse processo.
Integrar a IA nas funções de uma empresa é outro obstáculo. Em um processo de transformação digital, a cultura organizacional é um dos principais desafios. Além disso, contar com a estrutura adequada de hardware e software também exige muito investimento e precisa ser feito de maneira muito bem planejada.
A privacidade é um dos temas que empresas que utilizam novas tecnologias terão que lidar. Com as legislações de proteção de dados pessoais dos usuários já em vigor e sendo discutidos pelos governos de diversos países pelo mundo, as empresas precisam ter maturidade para cumprir as exigências legais, com o trabalho, e tratar as informações armazenadas de maneira ética.
Cada vez mais estamos vivendo na era dos algoritmos, em que as decisões que afetam nossas vidas estão sendo tomadas por modelos matemáticos. Dessa forma, é importante que o cientista tenha em mente que esses modelos em teoria deve nos conduzir a para um mundo mais justo, no qual todos devem ser julgados de acordo com as mesmas regras e o preconceito eliminado.
Essa questão é abordado no Livro “Algoritmos de destruição em massa”, no qual a autora traz diversos modelos que criam uma espiral discriminatória, como por exemplo, um estudante pobre não consegue obter um empréstimo porque o modelo matemático o considera muito arriscado (diante do endereço que ele mora), ele também é recusado na universidade que poderia tirá-lo da pobreza.
The Elements of Statistical Learning: Data Mining, Inference and Prediction, Hastie, T., Tibshirani, R. and Friedman, J., 2nd ed., Springer-Verlag, 2009.
An Introduction to Statistical Learning: With Applications in R, James, G., Witten, D., Hastie, T. and Tibshirani, R., Springer-Verlag, 2013.
Aprendizado de máquina: uma abordagem estatística, Izbicki, R. and Santos, T. M., 2020.
Extras:
Morris, Meredith Ringel, et al. “Levels of AGI: Operationalizing Progress on the Path to AGI.” arXiv preprint arXiv:2311.02462 (2023).
Weijermars, Ruud, Umair bin Waheed, and Kanan Suleymanli. “Will ChatGPT and Related AI-tools Alter the Future of the Geosciences and Petroleum Engineering?.” First Break 41.6 (2023): 53-61.
OBRIGADO!
Slide produzido com quarto
Tópicos Especiais em Estatística Computacional - Prof. Jodavid Ferreira